package date0704pm;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JdbcTest25 {

	public static void main(String[] args) throws Exception {

		String driver = "com.mysql.cj.jdbc.Driver"  ;
		String url = "jdbc:mysql://localhost:3306/ecut?serverTimezone=Asia/Shanghai&useSSL=false" ;
		String user = "ecuter" ;
		String password = "ecuter" ;

		// 1、加载数据库驱动
		Class.forName(driver);
		// 2、获得数据库连接
		Connection connection = DriverManager.getConnection(url, user, password);

		int resultSetType = ResultSet.TYPE_SCROLL_INSENSITIVE;
		int resultSetConcurrency = ResultSet.CONCUR_UPDATABLE;
		// 3、创建 Statement对象 ( 指定结果集的 滚动特性 和 并发特性 )
		Statement statement = connection.createStatement(resultSetType, resultSetConcurrency);

		// 可更新的结果集对应的表必须有主键
		ResultSet rs = statement.executeQuery("SELECT empno , ename , sal FROM myemp ORDER BY empno ASC");

		while (rs.next()) {
			System.out.print(rs.getInt("empno") + "\t");
			System.out.print(rs.getString("ename") + "\t");
			System.out.println(rs.getFloat("sal"));
		}

		System.out.println("- - - - - - - - - - - - - - - - - -");
		
		rs.absolute( 1 ) ; // 绝对定位到结果集第一行
		rs.updateDouble( 3 ,  1000 ); // 将结果集中 第一行 的 第三列 的值修改为 1000
		rs.updateRow();// 更新改行数据
		rs.beforeFirst(); // 使用相对定位将 指针移动到 结果集第一行之前
		
		while (rs.next()) {
			System.out.print(rs.getInt("empno") + "\t");
			System.out.print(rs.getString("ename") + "\t");
			System.out.println(rs.getFloat("sal"));
		}
		
		// 6、释放资源( 所有已经开启的资源必须都关闭 )
		rs.close();
		statement.close();
		connection.close();

	}

}
